<?php
require_once 'BaseController.php';

/**
 * 店舗検索クラス<br />
 *
 * @package apamanshop
 * @author　
 * @copyright　
 */
class Shop_SelcityController extends Shop_BaseController
{
	/**
	 * メインアクション
     *
     * @access public
     * @return void
	 */
	public function indexAction()
	{
		if (Apm_Config_Search::RENEW_2012) {
			$this->_display_path = APPLICATION_PATH . '/modules/shop/views/scripts/index_new.tpl';
			$this->_newTemplate = true;
			$this->_import_seo_search = true;
			// テンプレート変更
			$this->_error_helper      = $this->getApmHelper('error_new_helper.tpl');
			$this->_selectCity_helper = $this->getApmHelper('search/select-city_new_helper.tpl');
			
		} else {
			// 表示テンプレートパス設定
			$this->_display_path = APPLICATION_PATH . '/modules/shop/views/scripts/index.tpl';
		}
        //　CMS用パラメータ設定
        $this->setCmsParams();
		// モデルインスタンス生成
        $this->_model = new Shop_Model_SelectCity();
        
        // 検索区分チェック
        if ($this->checkSrhKbn() == false)
        {
	        $this->_main_helper = $this->_error_helper;
	        return;
        }
        
        // サービス内容クリック時の内容
		$this->_data['tokucho_onclick'] = "onclick=\"action='" . Apm_Config_Shop::URL_LIST . "'; javascript:ServiceControl(document.frm_pref);\"";

		// 店舗トップ画面で、都道府県選択、サービス内容のチェックボックスが１度でも押されていた場合はリセット
        $resetFlg = $this->getParamValue('resetFlg');
		if ($resetFlg == '1')
		{
			$this->_params['CityCd'] = array();
		}

		// 市区町村一覧取得
        $cityList = $this->_model->getList($this->_params);

        // 取得結果が０件
        if (count($cityList) == 0)
        {
	        // BLOCKの設定
	        $this->_main_helper = $this->_error_helper;
	        return;
        }

        // 都道府県コードが存在しない場合
        if (empty($this->_params['PrefCd']))
        {
        	$this->_params['PrefCd'] = array();
        	
        	foreach (Apm_Config_Shop::$PREF_LIST as $key => $value)
        	{
        		$this->_params['PrefCd'][] = $key;
        	}
        }

		// canonical設定（存在しないはずだけど...）
		if (!isset($this->_params['Pattern']) && $this->_params['SrhKbn'] == '1' && $this->_params['SrhType'] == '1' && count($this->_params['PrefCd']) == 1) {
			$params = array();
			$params['Pattern']  = 'shop';
			$params['Category'] = '2';
			$params['PrefCd']   = $this->_params['PrefCd'][0];
			$params['PrefName'] = Apm_Config_Search::$TODOUFUKEN_NAME_CODE_LIST[$params['PrefCd']];
			$canonical = Apm_Bukkenurl::generateUrlByParametersShop($params);
			$this->addMetaCanonical($canonical);
		}

        // サービス内容検索チェックボックスを非活性
        $this->_data['tokucho_disabled'] = "disabled='disabled'";
        // 表示用データに変換
        $this->_data['dispList'] = $this->_model->convertData($cityList, $this->_params);
        // パンくず設定
		if (count($this->_params['PrefCd']) == 1) {
			Apm_Bukkenbreadcrumb::generateBreadcrumbShop($this->_params, $this->_breadcrumb);
		} else {
			$this->updatePankuzu();
			$url = $this->_baseurl . $this->deleteDiagonal(Apm_Config_Shop::URL_SELECT_CITY) . $this->createUrlParams();
			$this->_breadcrumb->add('住所から探す', $url, 'shopcity');
		}

        $this->_params['SrhType'] = Apm_Config_Shop::SEARCH_TYPE_CITY;
        
        // BLOCKの設定
        $this->_main_helper = $this->_selectCity_helper;
	}

	/**
	 * CMS用パラメータ設定
	 */
	private function setCmsParams()
	{
		if ($this->_newTemplate) {
			$prefNm  = "";
			$prefNm2 = "";
			if (!empty($this->_params['PrefCd'])) {
				foreach ($this->_params['PrefCd'] as $prefCd) {
					$prefNm .= Apm_Config_Shop::$PREF_LIST[$prefCd]." ";
				}
			}
			if (!empty($prefNm)) {
				$prefNm2 = rtrim($prefNm);
				$prefNm  = str_replace(' ', ',', $prefNm2);
			} else {
				$prefNm2 = '全国';
				$prefNm  = '全国';
			}
			// タイトル設定
			$this->setTitle($prefNm2.'の店舗から賃貸を探す'.Apm_Config_Seo::TITLE_ADDTAIL);
			// Description設定
			$this->setDescription($prefNm2.'の店舗からお部屋を探すなら、'.Apm_Config_Seo::DESCRIPTION_ADDTAIL);
			// Keyword設定
			$this->setKeywords($prefNm.','.Apm_Config_Seo::KEYWORD_ADDTAIL);
			// H1
			$this->_data['h1_title'] = $prefNm2.'の店舗から探す。'.Apm_Config_Seo::H1_ADDTAIL;
			// ユニークテキスト
			$this->_data['unique_text'] = $prefNm2.'の店舗で賃貸住宅・賃貸マンション・賃貸アパートの検索はアパマンショップ！'.$prefNm2.'の店舗でペット相談可物件や、敷金礼金ダブル0の賃貸物件など、アパマンショップならではの情報が満載です。<br />'
			                            . '日本最大級のネットワークで'.$prefNm2.'の店舗での賃貸物件、賃貸マンション、賃貸アパートを探せます。'.Apm_Config_Seo::UNIQUE_TEXT_ADDTAIL;
			// css
			$this->addMetaCss('/common_new/css/sub02.css', array('media'=>'all'));
			// javascript
			$this->addMetaJs('/common_new/js/import.js');
		} else {
			// タイトル設定
			$this->setTitle('賃貸情報アパマンショップ[店舗から検索｜住所から検索]');
			// Description設定
			$this->setDescription('');
			// Keyword設定
			$this->setKeywords('');
			// javascript
			$this->addMetaJs('/js/shop/list.js');
			$this->addMetaJs('/app/js/shop/shop.js');
			$this->addMetaJs('/app/js/shop/shopindex.js');
			$this->addMetaJs('/app/js/shop/search.js');
			// css
			$this->addMetaCss('/css/shop/shop.css');
		}
	}
}
?>